#include "Node.cpp"

template<class TEntity>
class LinkedList
{
      private :
              Node<TEntity> *first;
              Node<TEntity> *last;
              Node<TEntity>* getNodeByIndex(int index);
              int length;
      
      public :
             LinkedList();
             Node<TEntity>* getFirst();
             Node<TEntity>* getLast();
             TEntity* getByIndex(int index);
             void add(TEntity *entity);
             void edit(TEntity *entity, int index);
             void remove(int index);
             bool isEmpty();   
             int getLength();   
};

